package com.peas.platform.module.icims.budget.apply.adapter.repository.po;

import java.util.*;
import java.math.*;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.peas.platform.framework.mybatisplus.po.BasePo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.JdbcType;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

// 一上预算汇总
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "`tbl_budget_one_collect`")
public class BudgetOneCollectPo extends BasePo {

    //汇总数据类型
    //项目汇总、项目同步
    @Size(max = 20, message = "汇总数据类型不能超过20个字符")
    @TableField(value = "`budget_one_collect_type`", jdbcType = JdbcType.VARCHAR)
    private String budgetOneCollectType;

    //汇总数据编码
    @Size(max = 100, message = "汇总数据编码不能超过100个字符")
    @TableField(value = "`budget_one_collect_code`", jdbcType = JdbcType.VARCHAR)
    private String budgetOneCollectCode;

    //汇总数据名称
    @Size(max = 200, message = "汇总数据名称不能超过200个字符")
    @TableField(value = "`budget_one_collect_name`", jdbcType = JdbcType.VARCHAR)
    private String budgetOneCollectName;

    //组织架构ID
    //（组织架构表）外键
    @TableField(value = "`organization_id`", jdbcType = JdbcType.BIGINT)
    private Long organizationId;

    //一级项目ID
    //（一级项目表）外键
    @TableField(value = "`project_one_id`", jdbcType = JdbcType.BIGINT)
    private Long projectOneId;

    //单位ID
    //（单位表）外键
    @TableField(value = "`government_id`", jdbcType = JdbcType.BIGINT)
    private Long governmentId;

    //汇总金额
    @TableField(value = "`total_amount`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal totalAmount;

    //一上批复金额
    @TableField(value = "`approve_amount`", jdbcType = JdbcType.DECIMAL)
    private BigDecimal approveAmount;

    //预算域同步状态
    @Size(max = 20, message = "预算域同步状态不能超过20个字符")
    @TableField(value = "`ysy_sync`", jdbcType = JdbcType.VARCHAR)
    private String ysySync;

    //预算域同步结果
    @TableField(value = "`ysy_sync_result`", jdbcType = JdbcType.CLOB)
    private String ysySyncResult;

}
